import pprint


#字典的键 和 值 可以任意为数字或字符串
dit_1 = {1:'dog','num':7,'book':'none',10:100}
dit_2 = {'num':7,1:'dog',10:100,'book':'none'}



#1. 字典是不讲究顺序的
#2. items方法的使用
def test_1():
    if dit_1 == dit_2:#用到了我们前面提过的全局变量
        for key_val in dit_1.items():
            print(key_val)#打印的是一个元组




#使用setdefault方法
def set_init_val():
    dit = {'dog':'big','cat':'mid'}

    dit.setdefault('dog','small')#因为dog的键值对已经存在，不会使用默认值small
    dit.setdefault('rabbit','small')#因为rabbit不存在键值对，所以使用默认值small
    for val in dit.values():
        print(val)





#使用setdefault 和 pprint模块来统计一个字符串里，每个字符出现的次数
test_str = "Count the number of occurrences"
def count_of_char_occur(long_str):
    temp_dit = {}
    for i in long_str:
        temp_dit.setdefault(i,0)
        temp_dit[i] += 1        #使用增强的赋值操作符
    pprint.pprint(temp_dit)     #pprint模块使用见109页pdf介绍

if __name__ == "__main__":
    # test_1()
    # set_init_val()
    count_of_char_occur(test_str)
    